Computer networks carry data between various devices. The data may be carried in connection-based links, such as the virtual circuits in an Asynchronous Transfer Mode (ATM) network. Data may also be carried between devices in network segments where data is broadcast to all of a plurality of devices on the segment via a broadcast-type medium. An example of the latter is an Ethernet network. It is typically convenient to set up local area networks (LANs) using a broadcast type medium over which devices can share data.
In some circumstances, for example, where a LAN is required to connect devices that are geographically distant from one another, the LAN may be broken into separate segments. Within each segment, devices (e.g., switches) can exchange data by way of a broadcast-type medium. The segments may be connected to one another by way of connection-based links such as physical transport lines. Such a LAN may be referred to as a virtual LAN (VLAN). A VLAN may be thought of as a logical web of connections over physical transports.
Metro-Ethernet networks are based on VLANs within the Ethernet network of a given metropolitan area. In order to provide this service to a customer, a service provider must design and assign a virtual network within the physical network for the customer. The VLAN creator is typically supplied with a VLAN name, a class of service (COS) for the VLAN and a certain number of access ports on the service provider Ethernet switches with the bandwidth (BW) required for each port. After the initial creation of the VLAN, access ports may be added or removed from the VLAN. Currently, the design of the VLAN and the assignment of access ports is performed manually with expert technicians attempting to take many constraints into consideration (e.g., BW required for each port, COS, layout of switches, layout of trunks, no loops allowed in VLAN, topology of VLAN). As VLANs become larger and more complex it becomes difficult and time consuming for technicians to manually design and assign VLANs.